<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * 后台角色管理
 *
 */
class Admin_role extends SDF_Controller {
    /*protected function _filter($map){
            $keywords = $this->input->get_post('keywords');
            if(!empty($keywords)){
                $map['or_where']=array(
                'cat_id'=>intval($keywords),
                'cat_name like'=>$keywords,
            );
        }
        return $map;
    }*/
    /**
     * 角色授权
     * @param int $id
     */
    public function authorization($id=0){
        $this->load->model('admin/admin_role_model');
        $this->load->model('admin/admin_node_group_model');
        $id = intval($id);
        if($id>0){
            $node_ids = $this->input->get_post('node_ids');
            if($this->admin_role_model->insert_admin_access($id,empty($node_ids)?array():$node_ids,$this->soft_id)){
                $this->_success('ok');return;
            }
            $this->_error('error');return;
        }

        $this->data['role_id'] = $this->input->get_post('id');
        if(empty($this->data['role_id'])){
            $this->_error('未指定角色id');
        }
        $this->load->model('admin/admin_node_model');

        #所有权限节点列表
        $admin_node_all = $this->admin_node_model->get_admin_node_all();//获取所有权限节点
        #取得所有权限的树结构
        $this->data['admin_node_group_menu'] = $this->admin_node_group_model->get_admin_node_group_menu($admin_node_all);
        $this->data['node_ids'] = $this->admin_role_model->get_admin_access($this->data['role_id'],$this->soft_id);#获取应用角色的权限节点列表
        $this->load->view($this->D.$this->C.'/authorization',$this->data);
    }

    /**
     * 角色用户管理
     * @param int $id
     */
    public function role_user($id=0){
        $this->load->model('admin/admin_role_model');
        $id = intval($id);
        if($id>0){
            if($this->admin_role_model->insert_admin_role_user($id,isset($_REQUEST['user_ids'])?$_REQUEST['user_ids']:array())){
                $this->_success('ok');return;
            }
            $this->_error('error');return;
        }
        $this->data['role_id'] = $this->input->get_post('id');
        if(empty($this->data['role_id'])){
            $this->_error('未指定角色id');
        }
        $users = $this->admin_role_model->get_admin_role_user($this->data['role_id']);
        $this->load->view('admin/admin_role/role_user',array('users' => $users));
    }
}